package com.mccrea.pattern.singleton.type2;

/**
 * @Classname SingleTonTest02
 * @Description 单例模式 饿汉式（静态代码块）测试
 * @Date 2021/5/7 0007 14:13
 * @Created by Mccrea_Gao
 */
public class SingleTonTest02 {
    public static void main(String[] args) {

    }
}

/**
 * 饿汉式（静态代码块）
 * 1） 构造器私有化，
 * 2） 类的内部创建实例
 * 3） 静态代码块初始化实例
 * 4） 向外暴露一个静态的公共方法获取步骤2创建的对象。
 */
class SingleTon02 {

    // 构造器私有化，
    private SingleTon02() {

    }
    // 类的内部创建实例
    private static SingleTon02 instance;
    // 静态代码块初始化实例
    static {
        instance = new SingleTon02();
    }
    // 向外暴露一个静态的公共方法获取步骤2创建的对象。
    public static SingleTon02 getInstance() {
        return instance;
    }
}